home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / devel / tcl / tclx7_31.z / tclx7_31 / tcldev / tclX7.3a-p1 / tests / globrecur.test < prev    next >
Encoding:
Text File  |  1994-01-24  |  3.9 KB  |  118 lines

  1. #
  2. # globrecur.test
  3. #
  4. # Tests for recursive_glob and for_recursive_globs procedures.
  5. #
  6. #---------------------------------------------------------------------------
  7. # Copyright 1992-1993 Karl Lehenbauer and Mark Diekhans.
  8. #
  9. # Permission to use, copy, modify, and distribute this software and its
  10. # documentation for any purpose and without fee is hereby granted, provided
  11. # that the above copyright notice appear in all copies.  Karl Lehenbauer and
  12. # Mark Diekhans make no representations about the suitability of this
  13. # software for any purpose.  It is provided "as is" without express or
  14. # implied warranty.
  15. #------------------------------------------------------------------------------
  16. # $Id: globrecur.test,v 3.1 1994/01/24 04:04:57 markd Exp $
  17. #------------------------------------------------------------------------------
  18. #
  19.  
  20. if {[info procs test] == ""} then {source testlib.tcl}
  21. eval $SAVED_UNKNOWN
  22.  
  23. exec rm -rf GLOBTESTDIR
  24.  
  25. tcltouch GLOBTESTDIR/file1
  26. tcltouch GLOBTESTDIR/dir1/file1
  27. tcltouch GLOBTESTDIR/dir1/file2
  28. tcltouch GLOBTESTDIR/dir1/file3.c
  29. tcltouch GLOBTESTDIR/dir2/file1
  30. tcltouch GLOBTESTDIR/dir2/file2.c
  31. tcltouch GLOBTESTDIR/dir2/file3
  32. tcltouch GLOBTESTDIR/file2
  33. tcltouch GLOBTESTDIR/dir2/dir3/file1.c
  34. tcltouch GLOBTESTDIR/dir2/dir3/file2.c
  35. tcltouch GLOBTESTDIR/dir2/dir3/file3
  36.  
  37. set expectedResult1 [list GLOBTESTDIR/dir1 \
  38.                           GLOBTESTDIR/dir1/file1 \
  39.                           GLOBTESTDIR/dir1/file2 \
  40.                           GLOBTESTDIR/dir1/file3.c \
  41.                           GLOBTESTDIR/dir2 \
  42.                           GLOBTESTDIR/dir2/dir3 \
  43.                           GLOBTESTDIR/dir2/dir3/file1.c\
  44.                           GLOBTESTDIR/dir2/dir3/file2.c \
  45.                           GLOBTESTDIR/dir2/dir3/file3 \
  46.                           GLOBTESTDIR/dir2/file1 \
  47.                           GLOBTESTDIR/dir2/file2.c \
  48.                           GLOBTESTDIR/dir2/file3 \
  49.                           GLOBTESTDIR/file1 \
  50.                           GLOBTESTDIR/file2]
  51.  
  52. set expectedResult2 [list GLOBTESTDIR/dir1/file3.c \
  53.                           GLOBTESTDIR/dir2/dir3/file1.c \
  54.                           GLOBTESTDIR/dir2/dir3/file2.c \
  55.                           GLOBTESTDIR/dir2/file2.c]
  56.  
  57. set expectedResult3 [list GLOBTESTDIR/dir1/file3.c \
  58.                           GLOBTESTDIR/dir2/dir3 \
  59.                           GLOBTESTDIR/dir2/dir3/file1.c \
  60.                           GLOBTESTDIR/dir2/dir3/file2.c \
  61.                           GLOBTESTDIR/dir2/dir3/file3 \
  62.                           GLOBTESTDIR/dir2/file2.c \
  63.                           GLOBTESTDIR/dir2/file3]
  64.  
  65. Test recursive_glob-1.1 {recursive_glob command} {
  66.     lsort [recursive_glob GLOBTESTDIR *]
  67. } 0 $expectedResult1
  68.  
  69. Test recursive_glob-1.2 {recursive_glob command} {
  70.     lsort [recursive_glob GLOBTESTDIR {*.c}]
  71. } 0 $expectedResult2
  72.  
  73. Test recursive_glob-1.3 {recursive_glob command} {
  74.     lsort [recursive_glob GLOBTESTDIR {*.c *3}]
  75. } 0 $expectedResult3
  76.  
  77. Test recursive_glob-1.4 {for_recursive_glob command} {
  78.     recursive_glob GLOBTESTDIR/file1 {*.c *3}
  79. } 1 {"GLOBTESTDIR/file1" is not a directory}
  80.  
  81. Test recursive_glob-2.1 {for_recursive_glob command} {
  82.     set result {}
  83.     for_recursive_glob file GLOBTESTDIR * {
  84.         lappend result $file
  85.     }
  86.     lsort $result
  87. } 0 $expectedResult1
  88.  
  89. Test recursive_glob-2.2 {for_recursive_glob command} {
  90.     set result {}
  91.     for_recursive_glob file GLOBTESTDIR {*.c} {
  92.         lappend result $file
  93.     }
  94.     lsort $result
  95. } 0 $expectedResult2
  96.  
  97. Test recursive_glob-2.3 {for_recursive_glob command} {
  98.     set result {}
  99.     for_recursive_glob file GLOBTESTDIR {*.c *3} {
  100.         lappend result $file
  101.     }
  102.     lsort $result
  103. } 0 $expectedResult3
  104.  
  105. Test recursive_glob-2.4 {for_recursive_glob command} {
  106.     for_recursive_glob file GLOBTESTDIR/file1 {*.c *3} {
  107.         error "should not execute"
  108.     }
  109. } 1 {"GLOBTESTDIR/file1" is not a directory}
  110.  
  111. exec rm -rf GLOBTESTDIR
  112.  
  113. unset expectedResult1 expectedResult2 expectedResult3
  114.  
  115. rename tcltouch ""
  116. rename unknown {}
  117.  
  118.